/*
 * DFCFrame.cpp
 *
 *  Created on: 09/01/2011
 *      Author: Danilo
 */

#include "DFCFrame.h"

//----------------------------------------------------------------------------
// Nome: DFCFrame()
// Desc: Construtor padr�o
// Pams: nenhum
//----------------------------------------------------------------------------
DFCFrame::DFCFrame()
{
    iLeft = iTop = iBottom = iRight = 0;
}

//----------------------------------------------------------------------------
// Nome: DFCFrame(int iLeftPam, int iTopPam, int iRightPam, int iBottomPam);
// Desc: Contrutor com par�metros
// Pams: left, top, right, bottom
//----------------------------------------------------------------------------
DFCFrame::DFCFrame(int iLeftPam, int iTopPam, int iRightPam, int iBottomPam)
{
    this->iLeft		= iLeftPam;
    this->iTop		= iTopPam;
    this->iRight	= iRightPam;
    this->iBottom   = iBottomPam;
}

//----------------------------------------------------------------------------
// Nome: GetWidth()
// Desc: retorna a largura do quadro
// Pams: nenhum
//----------------------------------------------------------------------------
int DFCFrame::GetWidth()
{
    return iRight - iLeft;
}

//----------------------------------------------------------------------------
// Nome: GetHeight()
// Desc: retorna a altura do quadro
// Pams: nenhum
//----------------------------------------------------------------------------
int DFCFrame::GetHeight()
{
    return iBottom - iTop;
}

//----------------------------------------------------------------------------
// Nome: IsValid(void)
// Desc: retorna verdadeiro se o quadro for v�lido
// Pams: nenhum
//----------------------------------------------------------------------------
bool DFCFrame::IsValid()
{
    return (iBottom >= iTop && iRight >= iLeft);
}

//----------------------------------------------------------------------------
// Nome: Collide(const DFCFrame & Frame)
// Desc: retorna verdadeiro se os dois quadros colidem
// Pams: quadro a ser testado a colis�o
//----------------------------------------------------------------------------
bool DFCFrame::Collide(const DFCFrame & Frame)
{
    return((iLeft < Frame.iRight)  && (iRight  > Frame.iLeft)
           && (iTop  < Frame.iBottom) && (iBottom > Frame.iTop));
}
